DNSCrypt-proxy provides a local service which can be used directly as your
local resolver or as a DNS forwarder, encrypting requests using the DNSCrypt
protocol and passing them to an upstream server.

The DNSCrypt protocol is very similar to DNSCurve, but focuses on securing
communications between a client and its first-level resolver.

DNSCurve improves confidentiality and integrity of DNS requests using
high-speed, high-security elliptic-curve cryptography. It aims to secure
the entire chain down to authoritative servers. However, it only works
with authoritative servers that explicitly support the protocol.

While not providing end-to-end security, it protects the local network,
which is often the weakest point of the chain, against man-in-the-middle
attacks. It also provides some confidentiality to DNS queries.
